
/**
 * 定义相关变量
 */
var lat;	//定义lat经度变量
var lng;	//定义lng纬度变量
var area=500;	//定义area范围变量
var zoom=12;	//定义zoom变量
var categoryNo=1;	//定义categoryNo类别编号变量
var map=null;	//定义map变量
var markers=[];	//定义markers[]数组变量
var marker_center=null;	//定义marker_center变量
var cirle =null;
var center=null;
var geocoder=null;	//定义geocoder变量

	/**
	 * 初始化下拉列表导航菜单布局信息
	 */
	$(document).ready(function () {
		$("ul.menu_body li:even").addClass("alt");
	    $('img.menu_head').click(function () {
		$('ul.menu_body').slideToggle('medium');
	    });
		$('ul.menu_body li a').mouseover(function () {
		$(this).animate({ fontSize: "10px", paddingLeft: "5px" }, 20 );
	    });
		$('ul.menu_body li a').mouseout(function () {
		$(this).animate({ fontSize: "10px", paddingLeft: "5px" }, 20 );
	    });
	});
	
	/**
	 * 搜索框触发点击方法
	 */
	$(document).ready(function () {
		$('#search_city').click(function(){
			$('#search_city').val("");
			$("#search_btn").show(); 
		});
		
	});
	/**
	 * 搜索框失去焦点方法
	 */
	$(document).ready(function () {
		$('#search_city').blur(function(){
			
			var search_city=$('#search_city').val();
			if(!search_city)
			{
				$("#search_btn").hide(); 
				
		    }
		});
		
	});

	/**
	 * 触发点击搜索按钮方法
	 */
	$(document).ready(function()
	{ 
		$("#search_btn").click(function(){
			var search_city=$('#search_city').val();
			codeAddress(search_city); 
			});
	});
	

	//触发category下拉列表事件
	$(document).ready(function()
	{ 
		$("#categoryNo").change(function(){
			categoryNo=$('#categoryNo').val();
			//alert(categoryNo);
			});
	});
	
	
	//触发areaNo下拉列表事件
	$(document).ready(function()
	{ 
		$("#areaNo").change(function(){
			area=$('#areaNo').val();
			//alert(area);
			  cirle = new QQMap.QCircle(
					    {
					                center: center,
					                radius: area,
					                map: map
					     });

			
			});
		
	});

	/**
	 * 地图初始化方法
	 */
	
	//初始化方法
	var init = function() 
	{
			 
			 if (navigator.geolocation)
			 {  
				 
				 	navigator.geolocation.getCurrentPosition( getPositionSuccess , getPositionError, {
	                enableHighAccuracy: true,
	                maximumAge: 9000,
					timeout:9000
	            });  
				 	geocoder = new QQMap.QGeocoder();

				 
			 }else{  
				 alert( ' 你的浏览器不支持 geolocation ');
			 }  
			 
	};



	function  getPositionSuccess(position ){  
			lat = position.coords.latitude;  
		    lng = position.coords.longitude; 
		    center = new QQMap.QLatLng(lat, lng);
		    map = new QQMap.QMap(
	            document.getElementById("map"),
	            {
	                center: new QQMap.QLatLng(lat,lng),
	                zoomLevel: 15
	            });
		    
		    var navControl = new QQMap.QNavigationControl({

	              align: QQMap.QALIGN.TOP_LEFT,

	              margin: new QQMap.QSize(5, 15),

	              map: map

	          });

		   /* marker_center= new QQMap.QMarker({
		        position: center,
		        map: map
		    });*/
		     cirle = new QQMap.QCircle(
			    {
			                center: center,
			                radius: area,
			                map: map
			     });

		    
		  QQMap.QEvent.addListener(map, 'center_changed', function(event) {
			  		center=map.getCenter();
			 	    lng =center.getLng(),
			    	lat = center.getLat();
			 	    
			 	  //circle.setCenter(center);
				 	//getSiteList();

		    });
		  
		 QQMap.QEvent.addListener(map, 'mousemove', function(event) {
		  		center=map.getCenter();
		 	    lng =center.getLng(),
		    	lat = center.getLat();
		 	   circle.setCenter(center);
			 	//getSiteList();

	    });
	
	   
	}

	function getPositionError(error){  
	    switch(error.code){  
	        case error.TIMEOUT :  
	            alert( " 连接超时，请重试 " );  
	            break;  
	        case error.PERMISSION_DENIED :  
	            alert( " 您拒绝了使用位置共享服务，查询已取消 " );  
	            break;  
	        case error.POSITION_UNAVAILABLE :   
	            alert( " 非常抱歉，暂时无法为您所在的星球提供位置服务 " );  
	            break;  
	    }  
	} 
	
	
	/**
	 * 删除所有Marker标记方法
	 */
	function clearMarkers()
	{
		
		 if(markers)
		   {
				for(var i=0;i<markers.length;i=i+1)
				{
									   
						markers[i].setMap(null);
									  
				}
							 
		 }

	}
	
	//取得指定经度，纬度和范围内的SiteList
	function getSiteList()
	{
		 clearMarkers();
		
	     $.ajax({
	    	url:"site/toList.action",
	 		type:'get',
	 		dataType:'json',
	 		data:{categoryNo:categoryNo,lat:lat,lng:lng,area:area},
			error:function(data)
			{
					 alert("error");
					 			
			},
			success:function(data)
			{
					 			 
				$.each(data.siteList,function(i,value)
				{
					
					markers[i]=  new QQMap.QMarker({
					 			  position: new QQMap.QLatLng(value.lat, value.lng),
					 			    	map: map,
					 			    	title:'请点击'
					 			    	});
					/*var decor =new QQMap.QMarkerDecoration({

			            content: i,

			            margin: new QQMap.QSize(0, -4),

			            align: QQMap.QALIGN.CENTER,

			            marker: markers[i]

			          });*/

					 				
					 				
					 	 var info = new QQMap.QInfoWindow({
					 		          map: map
					 		   });

				QQMap.QEvent.addListener(markers[i], 'click', function() 
				{
				
					 	 info.setAnimation(QQMap.QAnimation.POP);
				                         var msg='<center><h3>'+value.siteName+'</h3>地位:'+value.address+'<br>电话:'+value.tel+"<br><a href=site/find.action?site.siteNo="+value.siteNo+" data-ajax=false><font color='red'>查看详细</font></a></center>";
				                         info.open('<div style="width:200px;height:100px;">' + msg+'</div>',markers[i]);

	 		          });

	 			 
	 			 });
	 			
	 		}
	    	 
	     });
		
		
	}
	
	
	/**
	 * 每隔60秒调用后台根据经度、纬度、范围查询相关站

点方法
	 */
	$(document).ready(function(){

		$.extend({
		   show:function(){
			  /* if(categoryNo==0)
				{
				   alert('请选择查询类别');  
				   categoryNo=-1;
				}*/
				 center=map.getCenter();
		 	    lng =center.getLng(),
		    	lat = center.getLat();
		 		
		 	
		 	getSiteList();
		   }
		});
		setInterval("$.show()",10000);
		   });

	function codeAddress(address) {


        geocoder.geocode({'address': address}, function(results, status) {

            if (status == QQMap.QGeocoderStatus.OK) {

                map.setCenter(results.location);

                cirle = new QQMap.QCircle(
          		{
          			    center: results.location,
          			    radius: area,
          			    map: map
          	    });

                

            } else {

                  alert("检索没有结果，原因: " + status);

            }

        });

    }



	
	